package com.ipartek.formacion.beans;

import com.ipartek.formacion.interfaces.DynamicallyScaleable;

public class Imagen implements DynamicallyScaleable {

	// ATRIBUTOS
	private int tamanoImagen;

	// COSNTRUCTOR
	public Imagen() {
		super();
		this.tamanoImagen = 0;
	}

	public Imagen(int tamano) {
		super();
		this.tamanoImagen = tamano;
	}

	// GETTERS Y SETTERS
	public int getTamanoImagen() {
		return tamanoImagen;
	}

	public void setTamanoImagen(int tamanoImagen) {
		this.tamanoImagen = tamanoImagen;
	}

	/**
	 * Metodo setScale que seteara el valor de la variable size en el atributo
	 * tamanoImagen de la clase Imagen. Dependiendode del valor de size
	 * (BIG,MEDIUM,SMALL), tamanoImagen tendra un tamano diferente
	 */
	@Override
	public void setScale(int size) {
		// Comprobamos el valor del parametro size para hacer una seleccion de
		// lo que vamos a realizar
		switch (size) {
		case BIG:
			this.setTamanoImagen(BIG);
			break;
		case MEDIUM:
			this.setTamanoImagen(MEDIUM);
			break;
		case SMALL:
			this.setTamanoImagen(SMALL);
			break;
		default:
			this.setTamanoImagen(BIG);
			break;
		}
	}

	/**
	 * Metodo changeScale que seteara el valor de la variable size en el
	 * atributo tamanoImagen de la clase Imagen, siempre y cuando el valor de
	 * tamanoImagen sea diferente al del parametro size
	 */
	@Override
	public void changeScale(int size) {
		if (size != this.getTamanoImagen()) {
			this.setTamanoImagen(size);
		}
	}
}
